﻿/*
 * @Author: yangzr 1076420747@qq.com
 * @Date: 2023-03-20 13:51:05
 * @LastEditors: yangzr 1076420747@qq.com
 * @LastEditTime: 2023-06-07 13:38:43
 * @FilePath: \ktgj-crm\vue.config.js
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
const path = require('path')
const CompressionPlugin = require('compression-webpack-plugin')
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin

const product = process.env.NODE_ENV === 'production'

const plugins = product ? [
  new BundleAnalyzerPlugin(),
  new CompressionPlugin({
    test:/\.js$|\.html$|.\css/,
    threshold: 10240,
    deleteOriginalAssets: false
  })
] : []
module.exports = {
  //基本路径
  publicPath: './',
  //输出文件目录
  outputDir: 'dist',
  // eslint-loader 是否在保存的时候检查
  lintOnSave: true,
  //放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录。
  assetsDir: 'assets', // 静态资源目录 (js, css, img, fonts)
  //是否使用包含运行时编译器的 Vue 构建版本
  runtimeCompiler: false,
  //生产环境是否生成 sourceMap 文件，一般情况不建议打开
  productionSourceMap: false,
  devServer: {
    open: false,
    host: '0.0.0.0',
    port: 7777,
    https: false,
    hotOnly: false,
    overlay: {
      warnings: false,
      errors: true
    },
    proxy: {
      '/': {
        
        //ws: true, // proxy websockets
		    // target: 'http://172.16.7.51:8080/',      //旧公司地址
        // target: 'http://172.16.7.51:9090/',      //新公司地址
        // target: 'http://172.16.10.40:9090/',  //王洋本机
        // target: 'http://106.38.39.137:9090/', //外网地址
        //target: 'http://172.16.7.52:8080/backendapi/', //生产环境
        // target: 'http://172.16.7.52:9090/', //生产环境
        // target: 'http://172.16.7.52:443/', //生产环境
        target: 'http://h501.ktgj.com/backendapi/', //测试环境
        // target: 'http://emp.ktgj.com/', //生产环境
        changeOrigin: true,
        pathRewrite: {
            '^/': '/' //需要rewrite重写的,
        },
        // cookieDomainRewrite: {
        //     '*': ''
        // }
      }
    }
  },
    // webpack配置，值位对象时会合并配置，为方法时会改写配置
  configureWebpack: {
    resolve: {
      alias: {
        '@$': path.resolve(__dirname, 'src'),
      }
    },
    externals: {
      AMap: 'AMap',
      AMapUI: 'AMapUI'
    },
    plugins: plugins,
    performance: {
      hints:'warning',
      maxEntrypointSize: 40000000,
      //生成文件的最大体积
      maxAssetSize: 20000000,
      assetFilter: function(assetFilename) {
          return assetFilename.endsWith('.js');
      }
  }

  }
}